В предыдущем разделе показан самый простой запрос, полностью заданный в файле приложения Internet Database Connector. Более мощные страницы Web могут быть созданы с помощью параметров. Параметры представляют собой имена и значения элементов управления форм HTML, типа <INPUT…>, а также имена, указанные непосредственно в адресах URL. Эти имена и значения посылаются средствами просмотра Web и могут использоваться в операторах SQL на сервере.
Например, в последнем разделе запроса в Sample.idc возвращаются только авторы, реализация книг которых в течении года превысила 5000 долларов. Используя параметр, можно сформировать страницу Web, на которой пользователь решит, какое число ввести вместо 5000.
На странице Web пользователь вводит сумму реализации; введенная сумма присваивается переменной sales. Файл Dbsamp2.htm содержит форму с полем для ввода необходимого числа:
Ниже приведен синтаксис HTML для создания поля ввода и кнопки:
<FORM METHOD="POST" ACTION="/scripts/samples/sample2.idc"> <P> Введите объем продаж за год: <INPUT NAME="sales" VALUE="5000" > <P> <INPUT TYPE="SUBMIT" VALUE="Выполнить запрос"> </FORM>
Файл приложения Internet Database Connector (Sample2.idc) использует параметр вместо числа 5000:
SQLStatement: +SELECT au_lname, ytd_sales + from pubs.dbo.titleview + where ytd_sales > %sales%
Параметр имеет имя sales, что соответствует предложению <INPUT NAME= "sales" …> на странице Web. Параметры должны заключаться в символы процента (%) для отличия от обычных идентификаторов SQL. Когда приложение Internet Database Connector встретит параметр в файле IDC, оно подставит значение, посланное средством просмотра Web, и отправит оператор SQL драйверу ODBC.
Символ процента (%) является символом подстановки в SQL. Символы подстановки применяются в запросах SQL для поиска элементов таблицы, содержащих возможные комбинации символов. Чтобы отличать символ подстановки SQL от маркера языка HTML необходимо ввести символ % в следующем виде: %%. Например:
SQLStatement: +SELECT au_lname, ytd_sales, title + from pubs.dbo.titleview + where title like '%%%title%%%'
Символ процента для использования в качестве символа подстановки SQL введен дважды; кроме того, добавлены символы процента для разметки параметра. В примере, запрос ищет все записи, содержащие слово title в столбце title. Этот запрос возвращает следующее:
title title and deed main title page author and title
Чтобы отобрать все записи, начинающиеся со слова title, можно создать следующий запрос:
SQLStatement: +SELECT au_lname, ytd_sales, title + from pubs.dbo.titleview + where title like '%title%%%'
Запрос возвращает следующие данные:
title title and deed
Чтобы отобрать все записи, завершающиеся словом title, можно создать следующий запрос:
SQLStatement: +SELECT au_lname, ytd_sales, title + from pubs.dbo.titleview + where title like '%%%title%'
Запрос возвращает следующие данные:
title author and title
С помощью одного запроса можно сформировать наборы страниц Web со ссылками для запуска других запросов. Например, можно отформатировать имя автора как ссылку на новый запрос и использовать ее для вывода названий книг отдельного автора.
Например, документ Dbsamp3.htm служит для запуска запроса из файла Sample3.idc, который в свою очередь использует файл Sample3.htx в качестве шаблона вывода. После обработки запроса документ Sample3.htx содержит фамилии авторов в виде ссылок, по щелчку которых отображаются названия книг соответствующего автора с помощью файлов Sample3a.idc и Sample3a.htx.